#include <core_riscv.c>

#if defined(CH32V00X)
#error "Not yet implemented"
#elif defined(CH32V10X)
#error "Not yet implemented"
#elif defined(CH32V20X)
#error "Not yet implemented"
#elif defined(CH32V30X)
#include <ch32v30x_adc.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_bkp.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_can.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_crc.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_dac.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_dbgmcu.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_dma.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_dvp.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_eth.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_exti.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_flash.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_fsmc.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_gpio.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_i2c.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_iwdg.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_misc.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_opa.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_pwr.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_rcc.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_rng.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_rtc.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_sdio.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_spi.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_tim.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_usart.c>
#undef CTLR1_CLEAR_Mask
#undef FLAG_Mask
#include <ch32v30x_wwdg.c>
#endif